package com.miplus.ccrm.core.controller.vo.credit;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class CrdCaseResVo {
    /**
     * 案件编号
     */
    private Integer creditcaseid;

    /**
     * 客户编号
     */
    private String customernumber;

    /**
     * 案件状态
     */
    private Integer status;

    /**
     * 案件状态描述
     */
    private String statusdsc;

    /**
     * 案件队列
     */
    private String ccc;

    /**
     * 案件队列描述
     */
    private String cccdsc;

    /**
     * 客户姓名
     */
    private String custname;

    /**
     * 客户类型
     */
    private String custtypedsc;

    /**
     * 风险等级
     */
    private String risklevel;

    /**
     * 证件号
     */
    private String openacctcertno;

    /**
     * 联系电话
     */
    private String custphone;

    /**
     * 账户
     */
    private String creditAcct;

    /**
     * 产品类型ID
     */
    private String prodtype;

    /**
     * 产品类型描述：1银数/2通联
     */
    private String prodtypedsc;

    /**
     * 账户状态描述
     */
    private String acctStatusName;

//    /**
//     * 代表卡号
//     */
//    private String crdtCardRepeNo;

    /**
     * 入催时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date indt;

    /**
     * 分案时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date distdt;

    /**
     * 分案人
     */
    private String distusr;

    /**
     * 派工时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date assigndt;

    /**
     * 派工人
     */
    private String assignusr;

    /**
     * 催收单位
     */
    private String sendtodept;

    /**
     * 催收单位描述
     */
    private String sendtodeptdsc;

    /**
     * 催收专员
     */
    private String sendtousr;

    /**
     * 逾期阶段
     */
    private String overdueStage;

    /**
     * 逾期天数
     */
    private String mthsDay;

    /**
     * 逾期金额
     */
    private BigDecimal overdueTotalamt;

//    /**
//     * 当前账户余额（总欠款）
//     */
//    private String acctDebtAll;

//    /**
//     * 已出账单欠款
//     */
//    private String settledBillAmt;
//
//    /**
//     * 账单日
//     */
//    private String billDate;


//    /**
//     * 最低还款金额
//     */
//    private String lowestRepayBal;

    /**
     * 停催标识
     */
    private Integer isstopcase;

    /**
     * 预约时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date appointdt;

    /**
     * 上次联系时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date lastccdt;

    /**
     * 上次联系结果
     */
    private String lastccresult;

    /**
     * 计划回收时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd",timezone = "GMT+8")
    private Date bindenddt;

    /**
     * 禁止自动分案结束时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd",timezone = "GMT+8")
    private Date stopautodistenddt;

    /**
     * 单位名
     */
    private String corpname;

    /**
     * 币种
     */
    private String currency;

//    /**
//     * A原始分类(五级分案)
//     */
//    private String acctFlevel;

    // -- 调整 ↓

    /**
     * 案件标签
     */
    private List<SysTagsColor> custTag;//包含色值

    /**
     * 回收时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date recycledt;
    /**
     * 回收人
     */
    private String recycleusr;

    /**
     * 分案批次
     */
    private String distbatchid;
    /**
     * 数据批次
     */
    private String batchid;

    /**
     * 出催时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date closedt;

    /**
     * 未到期应还金额 amountnotdue
     */
    private BigDecimal amountnotdue;
    /**
     * 未到期应还本金 unpaidprincipal
     */
    private BigDecimal unpaidprincipal;
    /**
     * 未到期应还利息 unpayableinterest
     */
    private BigDecimal unpayableinterest;
    /**
     * 产品名称 prodname
     */
    private String productName;
    /**
     * 商户名称 merchantname
     */
    private String merchantname;

    /**
     * 客户逾期总金额 prododudtotalPrin
     */
    private BigDecimal prododudtotalPrin;

    /**
     * 客户逾期阶段 prodmthsStage
     */
    private String prodmthsStage;

    /**
     * 客户逾期天数 overdueDays
     */
    private Integer overdueDays;

    /**
     * 委案总金额
     */
    private BigDecimal cpTotalamt;


    // //////

    /**
     * 结清应还金额(欠款总额)
     */
    private BigDecimal totalRepaidAmount;

    /**
     * 应催未还金额
     */
    private BigDecimal waitAmount;

    /**
     * 应催已还金额
     */
    private BigDecimal repaidAmount;

    /**
     * 提醒下期应还金额
     */
    private BigDecimal remindRepayPrincipal;

    /**
     * 分案队列标志
     */
    private String disttag;

    /**
     * 委案逾期天数
     */
    private Integer cpOverdueDays;
    /**
     * 委案开始日期
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date cpStartTime;

    /**
     * 委案结束日期
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date cpEndTime;

    /**
     * 状态更新时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date statusdt;

    /**
     * 自动分案模板ID
     */
    private Long distributorid;

    /**
     * 产品编号
     */
    private String productId;

    /**
     * 分案方式 1：自动，2：人工
     */
    private Integer distributetype;

    /**
     * 分配方式 1：自动，2：人工
     */
    private Integer assigntype;

    /**
     * 距离下一还款日天数
     */
    private Integer remindRepayDays;

    /**
     * 最近还款时间
     */
    private Date recentlyRepTime;

    /**
     * 生日
     */
    private String birthday;

    /**
     * 性别 1.男 2.女
     */
    private String gender;

    /**
     * 民族
     */
    private String idNation;

    /**
     * 户籍地址
     */
    private String cityAddress;

    /**
     * 案件分组标签
     */
    private String caseGrpTag;
    /**
     * 客户分组标签
     */
    private String custGrpTag;


    /**
     * 黑白名单 1: 黑名单 2: 白名单
     */
    private Integer blacklistType;

    /**
     * 前端用于权限控制
     */
    private Integer access=1;

    /**
     * 企业名称
     */
    private String entpName;

    /**
     * 案件支用金额
     */
    private BigDecimal loanAmt;


    /**
     * 客户标签
     */
    private List<SysTagsColor> conCustTag;

    /**
     * 分案策略名称
     */
    private String distributorName;

    /**
     * 自动分配策略ID
     */
    private Long assignid;

    /**
     * 分配策略名称
     */
    private String assignName;

    /**
     * 催员组织。
     */
    private String teamname;

    /**
     * 西催员
     */
    private String  assistant;
    /**
     * 协催状态
     */
    private Integer assiststatus;
    /**
     * 协催开始时间范围1
     */
    private Date assiststartdt;
}
